.\" -*- nroff -*-
.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved.
.\" Copyright 2006-2008 Sun Microsystems, Inc.
.\" Copyright (c) 1996 Thinking Machines Corporation
.\" Copyright (c) 2010 Cisco Systems, Inc.  All rights reserved.
.\" $COPYRIGHT$
.TH MPI_T_pvar_handle_alloc 3 "Jun 10, 2020" "4.0.4" "Open MPI"
.
.SH NAME
\fBMPI_T_pvar_handle_alloc\fP, \fBMPI_T_pvar_handle_free\fP \- Allocate/free MPI performance variable handles
.
.SH SYNTAX
.ft R
.
.SH C Syntax
.nf
#include <mpi.h>
int MPI_T_pvar_handle_alloc(int \fIsession\fP, int \fIpvar_index\fP, void *\fIobj_handle\fP,
                            MPI_T_pvar_handle *\fIhandle\fP, int *\fIcount\fP)

int MPI_T_pvar_handle_free(int \fIsession\fP, MPI_T_pvar_handle *\fIhandle\fP)

.SH DESCRIPTION
.ft R
MPI_T_pvar_handle_alloc binds the performance variable specified in \fIpvar_index\fP to the MPI
object specified in \fIobj_handle\fP in the session identified by the parameter
\fIsession\fP. The object is passed in the argument \fIobj_handle\fP as an
address to a local variable that stores the object’s handle. If
MPI_T_pvar_get_info returns MPI_T_BIND_NO_OBJECT as the binding
for the variable the \fIobj_handle\fP argument is ignored. The handle
allocated to reference the variable is returned in the argument \fIhandle\fP. Upon successful
return, \fIcount\fP contains the number of elements (of the datatype returned by a previous
MPI_T_PVAR_GET_INFO call) used to represent this variable.

The value of \fIpvar_index\fP should be in the range 0 to \fInum_pvar - 1\fP,
where \fInum_pvar\fP is the number of available performance variables as
determined from a prior call to \fIMPI_T_PVAR_GET_NUM\fP. The type of the
MPI object it references must be consistent with the type returned in the
bind argument in a prior call to \fIMPI_T_PVAR_GET_INFO\fP.

MPI_T_pvar_handle_free frees a handle allocated by MPI_T_pvar_handle_alloc and sets the
\fIhandle\fP argument to MPI_T_PVAR_HANDLE_NULL.


.SH ERRORS
.ft R
MPI_T_pvar_handle_alloc() will fail if:
.TP 1i
[MPI_T_ERR_NOT_INITIALIZED]
The MPI Tools interface not initialized
.TP 1i
[MPI_T_ERR_INVALID_INDEX]
The performance variable index is invalid
.TP 1i
[MPI_T_ERR_OUT_OF_HANDLES]
No more handles available
.TP 1i
MPI_T_pvar_handle_free() will fail if:
.TP 1i
[MPI_T_ERR_NOT_INITIALIZED]
The MPI Tools interface not initialized
.TP 1i
[MPI_T_ERR_INVALID_HANDLE]
The handle is invalid or the handle argument passed in is not associated with the session argument


.SH SEE ALSO
.ft R
.nf
MPI_T_pvar_get_info
MPI_T_pvar_get_num

